using System.Collections.Generic;
using ArmyManager.Items;
using ArmyManager.Units;

namespace ArmyManager.Modules
{
	public class StarterModule : IModule
	{
		public IEnumerable<Unit> Units
		{
			get
			{
				return new List<Unit>
				       	{
				       		new Unit("Warrior", Unit.UnitTypes.Common),
				       		new Unit("Archer", Unit.UnitTypes.Common),
				       		new Unit("Mage", Unit.UnitTypes.Common),
				       		new Unit("Leader", Unit.UnitTypes.Commander)
				       		// TODO: Add more starter units
				       	};
			}
		}

		public IEnumerable<ShopItem> ShopItems
		{
			get
			{
				return new List<ShopItem>
				       	{
				       		new ShopItem(new Item("Basic Sword", Item.ItemTypes.Weapon, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.AttackPhysical, 50) }), 100),
				       		new ShopItem(new Item("Basic Bow", Item.ItemTypes.Weapon, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.AttackPhysical, 50) }), 100),
				       		new ShopItem(new Item("Basic Staff", Item.ItemTypes.Weapon, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.AttackPhysical, 50) }), 100),
				       		new ShopItem(new Item("Cloth Armor", Item.ItemTypes.Armor, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.DefensePhysical, 30) }), 100),
				       		new ShopItem(new Item("Leather Armor", Item.ItemTypes.Armor, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.DefensePhysical, 45) }), 150),
				       		new ShopItem(new Item("Enchanted Leather Armor", Item.ItemTypes.Armor, new List<ItemAttribute>
				       		                                                                       	{
				       		                                                                       		new ItemAttribute(ItemAttribute.AttributeTypes.DefensePhysical, 45),
				       		                                                                       		new ItemAttribute(ItemAttribute.AttributeTypes.DefenseMagical, 20)
				       		                                                                       	}), 250),
				       		new ShopItem(new Item("Endurance Amulet", Item.ItemTypes.Necklace, new List<ItemAttribute>{ new ItemAttribute(ItemAttribute.AttributeTypes.Endurace, 15) }), 75)
				       		// TODO: Add more starter items
				       	};
			}
		}
	}
}